/*
 * 版权所有：爱WiFi无线运营中心
 * 创建日期：2020-08-04 20:27:20:27
 * 创建作者：姜文斌
 * 文件名称：JDKProxyPostProcessor
 * 版本：v1.0
 * 功能：
 * 修改记录：
 */
package invokebeandefinitionregistrypostprocess.postprocess;

import invokebeandefinitionregistrypostprocess.proxy.MyInvocationHandler;
import invokebeandefinitionregistrypostprocess.proxy.ProxyUtil;
import invokebeandefinitionregistrypostprocess.service.impl.UserServiceImpl;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;


/**
 * @author 姜文斌
 * @since 1.0.0
 */
public class JDKProxyPostProcessor implements BeanPostProcessor {
	@Override
	public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
		if (beanName.equalsIgnoreCase("userServiceImpl")) {
			return ProxyUtil.newInstance(UserServiceImpl.class.getInterfaces(), new MyInvocationHandler(bean));
		}
		return bean;
	}
}